package com.wjm.blog.common.constant;

/**
 * @Description: 公共常量
 * @Author: Ailos
 * @Date: 2020/4/20 18:45
 * @Version: 1.0
 */
public class CommonConst {


    /**
     * 语言参数键名
     */
    public static final String LANGUAGE_PARAM_KEY = "lang";


    /**
     * 特殊字符：英文逗号
     */
    public static final String SPECIAL_CHARACTERS_COMMA = ",";

    /**
     * 特殊字符：下划线
     */
    public static final String SPECIAL_CHARACTERS_UNDERLINE = "_";
    /**
     * 特殊字符：中横线
     */
    public static final String SPECIAL_CHARACTERS_HYPHEN = "-";
    /**
     * 特殊字符：空字符串
     */
    public static final String SPECIAL_CHARACTERS_EMPTY = "";
    /**
     * 用户TOKEN缓存键名
     */
    public static final String USER_TOKEN = "access-token";

    /**
     * 当前用户ID缓存键名
     */
    public static final String CURRENT_USER_ID_KEY = "CURRENT_USER_ID";
    /**
     * 当前用户ID缓存键名
     */
    public static final String CURRENT_USER_ACCOUNT_KEY = "CURRENT_USER_ACCOUNT";
    /**
     * 当前用户ID缓存键名-租户id
     */
    public static final String CURRENT_USER_SITEID_KEY = "CURRENT_USER_SITEID";
    /**
     * 当前用户ID缓存键名-机构id
     */
    public static final String CURRENT_USER_CUSTID_KEY = "CURRENT_USER_CUSTID";
    /**
     * Date格式化字符串
     */
    public static final String DATE_FORMAT = "yyyy-MM-dd";

    /**
     * DateTime格式化字符串
     */
    public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";

    /**
     * Time格式化字符串
     */
    public static final String TIME_FORMAT = "HH:mm:ss";

    /**
     * 系统编码统一长度
     */

    public static final int CODE_LENGTH = 6;

    /**
     * Redis key 用于更新容器状态
     */
    public static final String PALLETS_UPDATE_TASK_STATE = "PALLETS_UPDATE_TASK_STATE";

    /**
     * Redis key 用于通知入库单任务取消
     */
    public static final String WMS_RECEIPT_ORDER_TASK_CANCEL = "WMS_RECEIPT_ORDER_TASK_CANCEL";

    /**
     * Redis key 用于通知出库单任务取消
     */
    public static final String WMS_SHIPMENT_ORDER_TASK_CANCEL = "WMS_SHIPMENT_ORDER_TASK_CANCEL";

    //仓库类型 入库台仓库类型
    public static final String WMS_WAREHOUSE_TYPE = "rkt01";


    /**
     * 判断状态 0：无效 1：有效
     */
    public static final int STATE_0 = 0;
    public static final int STATE_1 = 1;

    /**
     * 判断容器状态 0：空闲 1：占用
     */
    public static final int PALLET_STATE_0 = 0;
    public static final int PALLET_STATE_1 = 1;

    /**
     * 判断容器状态 1：锁定 2：正常
     */
    public static final int PALLET_TASK_STATE_2 = 2;
    public static final int PALLETS_TASK_STATE_1 = 1;

    /**
     * 判断库位状态 1：盘点锁定 2：入库锁定 3：出库锁定: 4正常使用
     */
    public static final int SPACE_TASK_STATE_4 = 4;


    /**
     * 是否生成调度任务 0：未生成 1：生成 2：返回任务完成
     */
    public static final int TASK_TYPE_0 = 0;
    public static final int TASK_TYPE_1 = 1;
    public static final int TASK_TYPE_2 = 2;

    /**
     * 盘点状态，0：未盘点，1：盘点启动，2：盘点结束
     */
    public static final int STO_STATE_0 = 0;
    public static final int STO_STATE_1 = 1;
    public static final int STO_STATE_2 = 2;

    /**
     * 盘点状态 0.未盘点 1.已盘点有差异 2.已盘点无差异
     */
    public static final int CHECK_STATE_0 = 0;
    public static final int CHECK_STATE_1 = 1;
    public static final int CHECK_STATE_2 = 2;

    /**
     * 库存状态 1.正常库存 2.冻结库存
     */
    public static final int STOCK_STATUS_1 = 1;
    public static final int STOCK_STATUS_2 = 2;

    /**
     * 拆分结果 0.不拆分 1.上剁 2.下剁
     */
    public static final int SPLIT_RESULT_0 = 0;
    public static final int SPLIT_RESULT_1 = 1;
    public static final int SPLIT_RESULT_2 = 2;

    /**
     * 物料的状态 1：已打印，2：已入库 3.已出库，4.已拆分
     */
    public static final int GOODS_STATE_1 = 1;
    public static final int GOODS_STATE_2 = 2;
    public static final int GOODS_STATE_3 = 3;
    public static final int GOODS_STATE_4 = 4;

    /**
     * 储位状态 1：盘点锁定 2：入库锁定 3：出库锁定: 4正常使用 5:调度锁定
     */
    public static final Integer STORAGE_TASK_STATE_1 = 1;
    public static final Integer STORAGE_TASK_STATE_2 = 2;
    public static final Integer STORAGE_TASK_STATE_3 = 3;
    public static final Integer STORAGE_TASK_STATE_4 = 4;
    public static final Integer STORAGE_TASK_STATE_5 = 5;
}
